package upc.edu.clases;

import java.util.ArrayList;

public class DeclaracionesJuradas extends Documento {
	String Nro_Documento;
	String IDDeclaracionJuradas="";
	
	ArrayList<DeclaracionesJuradas> lstDeclaracionesJuradas = new ArrayList();

	public String getNro_Documento() {
		return Nro_Documento;
	}
	public void setNro_Documento(String nro_Documento) {
		Nro_Documento = nro_Documento;
	}
	public String getIDDeclaracionJuradas() {
		return IDDeclaracionJuradas;
	}
	public void setIDDeclaracionJuradas(String iDDeclaracionJuradas) {
		IDDeclaracionJuradas = iDDeclaracionJuradas;
	}
	
	public String GrabarDjuradas(DeclaracionesJuradas objDeclaJu,String sw) {
		DeclaracionesJuradas objDecla = new DeclaracionesJuradas();
		String Rpta="";
		String Existe="no";
		int index=-1;
		
		if (objDeclaJu.getResponsable().equalsIgnoreCase("")) {
			return "Ingresar Responsable";
		}
		if (objDeclaJu.getFechaVencimiento().equalsIgnoreCase("")) {
			return "Ingresar Fecha de Vencimiento";
		}
		if (objDeclaJu.getIDDeclaracionJuradas().equalsIgnoreCase("")) {
			return "Ingresar Codigo de Declaracion Jurada";
		}
		else{
				
			for(int i=0;i<lstDeclaracionesJuradas.size();i++){ 
					objDecla = lstDeclaracionesJuradas.get(i);
					Existe = "no";
					if (lstDeclaracionesJuradas.size()>0){
							if(objDeclaJu.getIDDeclaracionJuradas().equalsIgnoreCase(objDeclaJu.getIDDeclaracionJuradas())){
								Existe="si existe";
								break;
							}
							else {
								Existe="no";
							}	
						index=i;
					}
				}
			
					if (sw.equalsIgnoreCase("Grabar")) {	
								if (Existe.equals("no")){						
										if (objDeclaJu.getResponsable().equalsIgnoreCase("")){
											objDeclaJu.setEstado("No Iniciado");}			
										else {
											objDeclaJu.setEstado("Iniciado");
										}
										lstDeclaracionesJuradas.add(objDeclaJu);
											Rpta = "Grabado Correctamente";
									}
								else{ 
									if(Existe.equals("si existe")){
											Rpta="No se puede Grabar, el codigo de la carta fianza ya Existe";}
								}
							}
							
					 else if (sw.equalsIgnoreCase("Editar")) {
							if (objDeclaJu.getResponsable().equalsIgnoreCase("")) {
								lstDeclaracionesJuradas.set(index, objDeclaJu);
								Rpta = "Carta Fianza Modificada";
							} 
								else {
									Rpta = "No se puede modificar, La tarea fue asignada a " + objDeclaJu.getResponsable();
								}			
					 }}
		return Rpta;
	}
	
	public String AsignarDC(String Resp, String F_Vence){
		if (Resp.equalsIgnoreCase("")) {
			return "Debe Ingresar Responsable";
		}
		if (F_Vence.equalsIgnoreCase("")) {
			return "Debe Ingresar Una fecha de Vencimiento";
		}
		if (this.getEstado().equalsIgnoreCase("No Iniciado")){
			this.setResponsable(Resp);
			this.setFechaVencimiento(F_Vence);
			return "Grabado Correctamente";}
			else if(this.getEstado().equalsIgnoreCase("Iniciado")) {
			return "La Tarea ya ha sido Otorgada";	
			}
		return "Grabado Correctamente";
	}
		
}